package com.ruoyi.project.emr.mapper;

import java.util.List;

import com.ruoyi.project.emr.domain.EmrMedicalRecord;
import com.ruoyi.project.emr.domain.EmrRecordInfo;

/**
 * 病历Mapper接口
 *
 * @author gzu
 * @date 2023-07-22
 */
public interface EmrMedicalRecordMapper
{
    /**
     * 查询病历
     *
     * @param id 病历主键
     * @return 病历
     */
    public EmrMedicalRecord selectEmrMedicalRecordById(String id);

    /**
     * 根据病历号查找病历
     * @param number
     * @return
     */
    public List<EmrMedicalRecord> selectEmrMedicalRecordByNumber(String number);

    /**
     * 查找病历相关的人员信息
     * @param recordInfo
     * @return
     */
    public List<EmrRecordInfo> selectEmrRecordInfo(EmrRecordInfo recordInfo);

    /**
     * 查询病历列表
     *
     * @param emrMedicalRecord 病历
     * @return 病历集合
     */
    public List<EmrMedicalRecord> selectEmrMedicalRecordList(EmrMedicalRecord emrMedicalRecord);

    /**
     * 新增病历
     *
     * @param emrMedicalRecord 病历
     * @return 结果
     */
    public int insertEmrMedicalRecord(EmrMedicalRecord emrMedicalRecord);

    /**
     * 修改病历
     *
     * @param emrMedicalRecord 病历
     * @return 结果
     */
    public int updateEmrMedicalRecord(EmrMedicalRecord emrMedicalRecord);

    /**
     * 删除病历
     *
     * @param id 病历主键
     * @return 结果
     */
    public int deleteEmrMedicalRecordById(String id);

    /**
     * 批量删除病历
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEmrMedicalRecordByIds(String[] ids);

    /**
     * 查询病历关联病人列表
     * @param emrMedicalRecord
     * @return
     */
    public List<EmrMedicalRecord> selectEmrMedicalRecordListByPatientId(String id);
}
